{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "f08ae67a",
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0dbd019d",
   "metadata": {},
   "source": [
    "https://pytorch.org/docs/stable/generated/torch.nn.BCELoss.html#torch.nn.BCELoss\n",
    "\n",
    "https://blog.csdn.net/qq_39521554/article/details/104102167"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "id": "603d7816",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([1.1594, 0.8772, 0.3587, 0.3459, 0.6097], requires_grad=True)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "tensor([1., 1., 0., 0., 0.])"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "tensor(0.6868, grad_fn=<BinaryCrossEntropyBackward0>)"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "input = torch.randn(size=(5,),requires_grad=True)\n",
    "target = torch.tensor([1,1,0,0,0],requires_grad=False,dtype=torch.float)\n",
    "display(input,target)\n",
    "x_sigmoid = nn.Sigmoid()(input)\n",
    "x_sigmoid\n",
    "loss = nn.BCELoss()\n",
    "loss(x_sigmoid,target)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "84a20b3d",
   "metadata": {},
   "source": [
    "# 手动改计算 对数损失"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "id": "7597c738",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.76122206, 0.7062318 , 0.5887264 , 0.58562934, 0.64788175],\n",
       "      dtype=float32)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "array([1., 1., 0., 0., 0.], dtype=float32)"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = x_sigmoid.detach().numpy()\n",
    "y=target.detach().numpy()\n",
    "display(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "id": "27dc7387",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(0.76122206, 1.0)\n",
      "(0.7062318, 1.0)\n",
      "(0.5887264, 0.0)\n",
      "(0.58562934, 0.0)\n",
      "(0.64788175, 0.0)\n"
     ]
    }
   ],
   "source": [
    "for _ in zip(x,y):\n",
    "    print(_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "id": "26e82467",
   "metadata": {},
   "outputs": [],
   "source": [
    "# sigmoid =  nn.Sigmoid()\n",
    "def loss(x,y):\n",
    "    return -y*np.log(x)-(1-y)*np.log(1-x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "id": "57b17c4a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6867842370895574"
      ]
     },
     "execution_count": 123,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sum_all = 0\n",
    "for _ in zip(x,y):\n",
    "    sum_all += loss(_[0],_[1])\n",
    "sum_all\n",
    "1/5*sum_all"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a7c2865e",
   "metadata": {},
   "source": [
    "# sigmoid函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "581ccf13",
   "metadata": {},
   "outputs": [],
   "source": [
    "# sigmoid\n",
    "\n",
    "def sigmoid(x):\n",
    "    return 1/(1+np.exp(-x))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "2de3cfcc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1c1dac77220>]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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IowAAABLEUYAAIClgj6M/OY3v9G4ceMUGRmp2NjYRtscOHBAEydOVGRkpBITE/XLX/5SNTU1zb7u8ePHdeuttyo6OlqxsbG67bbbdPLkyXbYgpZbvny5bDZbo7c1a9Y0ud63v/3ts9rfddddHVi5b9LT08+q96mnnmp2nYqKCs2YMUPdunVT165d9f3vf18FBQUdVHHL7du3T7fddpv69OmjiIgI9evXT7Nnz1ZVVVWz6/n7PpwzZ47S09MVHh6ujIwMffHFF822f/fddzV48GCFh4dr+PDhWrRoUQdV6pucnBxdfPHFioqKUmJiom688UZt37692XXmzZt31r4KDw/voIp99+tf//qsegcPHtzsOoGy/6TGv09sNptmzJjRaHt/338rV67UpEmTlJKSIpvNpgULFjR43hijWbNmqUePHoqIiFBWVpZ27tx5ztf19TPsq6API1VVVbr55pt19913N/q82+3WxIkTVVVVpdWrV+tPf/qT5s2bp1mzZjX7urfeeqs2b96spUuX6p///KdWrlypO++8sz02ocXGjRunI0eONLjdfvvt6tOnj8aMGdPsunfccUeD9Z555pkOqrp1Hn/88Qb13nPPPc22v//++/WPf/xD7777rlasWKHDhw/re9/7XgdV23Lbtm2Tx+PRK6+8os2bN+uFF17Q3Llz9fDDD59zXX/dh/Pnz1d2drZmz56t9evXa+TIkZowYYIKCwsbbb969WpNmTJFt912mzZs2KAbb7xRN954ozZt2tTBlZ/bihUrNGPGDH322WdaunSpqqurdc0116isrKzZ9aKjoxvsq/3793dQxa0zdOjQBvWuWrWqybaBtP8kac2aNQ22benSpZKkm2++ucl1/Hn/lZWVaeTIkZozZ06jzz/zzDP67//+b82dO1eff/65unTpogkTJqiioqLJ1/T1M9wqppN44403TExMzFnLFy1aZOx2u8nPz/cu+8Mf/mCio6NNZWVlo6+1ZcsWI8msWbPGu+xf//qXsdlsJi8vr81rb62qqirTvXt38/jjjzfb7vLLLzf33ntvxxTVBnr37m1eeOGFFrcvLi42oaGh5t133/Uu27p1q5FkcnNz26HCtvXMM8+YPn36NNvGn/fh2LFjzYwZM7yP3W63SUlJMTk5OY22/8EPfmAmTpzYYFlGRob56U9/2q51toXCwkIjyaxYsaLJNk19F/mr2bNnm5EjR7a4fSDvP2OMuffee02/fv2Mx+Np9PlA2n+SzF//+lfvY4/HY5KTk82zzz7rXVZcXGycTqf5v//7vyZfx9fPcGsE/ZGRc8nNzdXw4cOVlJTkXTZhwgS5XC5t3ry5yXViY2MbHG3IysqS3W7X559/3u41t9Tf//53FRUVafr06eds+7//+79KSEjQsGHDNHPmTJWXl3dAha331FNPqVu3brrwwgv17LPPNtuttm7dOlVXVysrK8u7bPDgwerVq5dyc3M7otzzUlJSovj4+HO288d9WFVVpXXr1jX4t7fb7crKymry3z43N7dBe6n2Mxko+0rSOffXyZMn1bt3b6WlpemGG25o8rvGX+zcuVMpKSnq27evbr31Vh04cKDJtoG8/6qqqvTmm2/qJz/5SbMXZQ20/Vdv7969ys/Pb7B/YmJilJGR0eT+ac1nuDUC4kJ57Sk/P79BEJHkfZyfn9/kOomJiQ2WhYSEKD4+vsl1rPDaa69pwoQJ57zI4C233KLevXsrJSVFX331lR588EFt375d77//fgdV6puf//znuuiiixQfH6/Vq1dr5syZOnLkiJ5//vlG2+fn5yssLOysMUNJSUl+tb8as2vXLr300kt67rnnmm3nr/vw2LFjcrvdjX7Gtm3b1ug6TX0m/X1feTwe3Xfffbrkkks0bNiwJtsNGjRIr7/+ukaMGKGSkhI999xzGjdunDZv3tyuFwRtrYyMDM2bN0+DBg3SkSNH9Nhjj2n8+PHatGmToqKizmofqPtPkhYsWKDi4mL9+Mc/brJNoO2/M9XvA1/2T2s+w60RkGHkoYce0tNPP91sm61bt55zkFWgaM32Hjp0SEuWLNE777xzztc/c6zL8OHD1aNHD1111VXavXu3+vXr1/rCfeDLNmZnZ3uXjRgxQmFhYfrpT3+qnJwcv52uuTX7MC8vT9/5znd0880364477mh2XX/Yh53djBkztGnTpmbHU0hSZmamMjMzvY/HjRunIUOG6JVXXtETTzzR3mX67Nprr/XeHzFihDIyMtS7d2+98847uu222yysrO299tpruvbaa5WSktJkm0Dbf4EiIMPIAw880GxylaS+ffu26LWSk5PPGhVcf5ZFcnJyk+t8c+BOTU2Njh8/3uQ656M12/vGG2+oW7duuv76631+v4yMDEm1f5V31C+y89mnGRkZqqmp0b59+zRo0KCznk9OTlZVVZWKi4sbHB0pKChol/3VGF+37/Dhw7riiis0btw4/fGPf/T5/azYh41JSEiQw+E468yl5v7tk5OTfWrvD372s595B7L7+tdxaGioLrzwQu3ataudqmtbsbGxGjhwYJP1BuL+k6T9+/frww8/9PloYiDtv/p9UFBQoB49eniXFxQUaNSoUY2u05rPcKu02egTP3euAawFBQXeZa+88oqJjo42FRUVjb5W/QDWtWvXepctWbLEbwawejwe06dPH/PAAw+0av1Vq1YZSebLL79s48rax5tvvmnsdrs5fvx4o8/XD2B97733vMu2bdvmtwNYDx06ZAYMGGB++MMfmpqamla9hj/tw7Fjx5qf/exn3sdut9ukpqY2O4D1u9/9boNlmZmZfjkA0uPxmBkzZpiUlBSzY8eOVr1GTU2NGTRokLn//vvbuLr2UVpaauLi4szvfve7Rp8PpP13ptmzZ5vk5GRTXV3t03r+vP/UxADW5557zruspKSkRQNYffkMt6rWNnslP7V//36zYcMG89hjj5muXbuaDRs2mA0bNpjS0lJjTO1/pGHDhplrrrnGbNy40SxevNh0797dzJw50/san3/+uRk0aJA5dOiQd9l3vvMdc+GFF5rPP//crFq1ygwYMMBMmTKlw7evMR9++KGRZLZu3XrWc4cOHTKDBg0yn3/+uTHGmF27dpnHH3/crF271uzdu9f87W9/M3379jWXXXZZR5fdIqtXrzYvvPCC2bhxo9m9e7d58803Tffu3c3UqVO9bb65jcYYc9ddd5levXqZjz76yKxdu9ZkZmaazMxMKzahWYcOHTL9+/c3V111lTl06JA5cuSI93Zmm0Dah2+//bZxOp1m3rx5ZsuWLebOO+80sbGx3jPYfvSjH5mHHnrI2/7TTz81ISEh5rnnnjNbt241s2fPNqGhoebrr7+2ahOadPfdd5uYmBizfPnyBvuqvLzc2+ab2/fYY4+ZJUuWmN27d5t169aZH/7whyY8PNxs3rzZik04pwceeMAsX77c7N2713z66acmKyvLJCQkmMLCQmNMYO+/em632/Tq1cs8+OCDZz0XaPuvtLTU+3tOknn++efNhg0bzP79+40xxjz11FMmNjbW/O1vfzNfffWVueGGG0yfPn3MqVOnvK9x5ZVXmpdeesn7+Fyf4bYQ9GFk2rRpRtJZt48//tjbZt++febaa681ERERJiEhwTzwwAMN0vHHH39sJJm9e/d6lxUVFZkpU6aYrl27mujoaDN9+nRvwLHalClTzLhx4xp9bu/evQ22/8CBA+ayyy4z8fHxxul0mv79+5tf/vKXpqSkpAMrbrl169aZjIwMExMTY8LDw82QIUPMk08+2eAo1je30RhjTp06Zf7jP/7DxMXFmcjISPNv//ZvDX7B+4s33nij0f+vZx7EDMR9+NJLL5levXqZsLAwM3bsWPPZZ595n7v88svNtGnTGrR/5513zMCBA01YWJgZOnSoWbhwYQdX3DJN7as33njD2+ab23ffffd5/y2SkpLMddddZ9avX9/xxbfQ5MmTTY8ePUxYWJhJTU01kydPNrt27fI+H8j7r96SJUuMJLN9+/azngu0/Vf/++qbt/pt8Hg85tFHHzVJSUnG6XSaq6666qzt7t27t5k9e3aDZc19htuCzRhj2q7TBwAAwDedfp4RAABgLcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACz1/wFHkaJGgQmZUAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x=np.linspace(-10,10,100)\n",
    "y=sigmoid(x)\n",
    "plt.plot(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c1fad96b",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "a539a878",
   "metadata": {},
   "source": [
    "# 多分类问题也可以使用  对数损失函数\n",
    "\n",
    "保证 概率最大的那个值是1 ，其余的都是0 \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 124,
   "id": "64fbddff",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([[-0.2887,  0.3164, -1.4400],\n",
       "        [-0.0682,  0.8620, -0.9924],\n",
       "        [ 0.4608,  1.9268, -1.6401],\n",
       "        [-0.1493, -0.3187,  0.1571]], requires_grad=True)"
      ]
     },
     "execution_count": 124,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "num_samples = 4\n",
    "num_classes = 3\n",
    "\n",
    "logits = torch.randn(num_samples, num_classes, requires_grad=True)\n",
    "logits"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "id": "0ab96795",
   "metadata": {},
   "outputs": [],
   "source": [
    "targets = torch.randint(0,3,(4,))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "id": "f99d1269",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([[1., 0., 0.],\n",
       "        [1., 0., 0.],\n",
       "        [0., 1., 0.],\n",
       "        [0., 0., 1.]])"
      ]
     },
     "execution_count": 126,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "targets_one_hot=F.one_hot(targets,3).float()\n",
    "targets_one_hot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "id": "f6dd6b38",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([[0.4283, 0.5784, 0.1916],\n",
       "        [0.4830, 0.7031, 0.2704],\n",
       "        [0.6132, 0.8729, 0.1625],\n",
       "        [0.4627, 0.4210, 0.5392]], grad_fn=<SigmoidBackward0>)"
      ]
     },
     "execution_count": 127,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "probabilities = torch.sigmoid(logits)\n",
    "probabilities"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "id": "9169ce92",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "使用 BCELoss 计算的多分类损失: 0.6025146245956421\n"
     ]
    }
   ],
   "source": [
    "criterion = nn.BCELoss()\n",
    "loss = criterion(probabilities, targets_one_hot)\n",
    "print(f\"使用 BCELoss 计算的多分类损失: {loss.item()}\")"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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AARAYMUJQM6teAUheyAAAiAAAiAAAiAAAiAAAiDgJwA55+eCUBAAARAAARAAARAAARAAARBYcQKQcyteQcgeCIAACIAACIAACIAACIAACPgJQM75uSAUBEAABEAABEAABEAABEAABFacAOTcilcQsgcCIAACIAACIAACIAACIAACfgKQc34uCAUBEAABEAABEAABEAABEACBFScAObfiFYTsgQAIgAAIgAAIgAAIgAAIgICfAOScnwtCQQAEQAAEQAAEQAAEQAAEQGDFCUDOrXgFIXsgAAIgAAIgAAIgAAIgAAIg4CcAOefnglAQAAEQAAEQAAEQAAEQAAEQWHECkHMrXkHIHgiAAAiAAAiAAAiAAAiAAAj4CUDO+bkgFARAAARAAARAAARAAARAAARWnADk3IpXELIHAiAAAiAAAiAAAiAAAiAAAn4CkHN+LggFARAAARAAARAAARAAARAAgRUnADm34hWE7IEACIAACIAACIAACIAACICAnwDknJ8LQkEABEAABEAABEAABEAABEBgxQlAzq14BSF7IAACIAACIAACIAACIAACIOAnADnn54JQEAABEAABEAABEAABEAABEFhxApBzK15ByB4IgMBnQGDQvhk0X8Tx+3Yt4I0VL9N4xfOH7IEACIAACIAACCQELrucC5tBrf3eV53UbWqGviMqLNwOgu38KCruJdgYHFJH0SkPBRYu4/C3/f3fhoWKyr3S2uEgO3LYNLutL5p2NgbtmxkVJ1J80QxutnNSN64rO8pGkG+T8pPKcLb9+JKgsPGw92i/9zHrsB0+kZJdTLey3rdrRSHI69IVc8HKiBl/CaZLqXCalP8yGXbL68lT2Qqi/NuWFsexN9BzsUUGSSt9PxisRH7yytp/3Fi7sXsS5cWZ+7GUMRhVTxbotmwTM5BKMPcM+06kqC+owXCdSzpadqrR687+k9NiFKl1StmtmbR9Y6ZahnA79xnBJIDEqsDPbRnMDE7Y9t6D8qaYcK55ODp9st95XQwqlTrVmpmJ2bXpGkwKsnmqf9ttKu1aE+e4cfwpIRQEQAAEShGAnHPkTyl6i408ycU6XY0suZLr5s0SfGjXgyD45qiAnmPfTO4/p49lyznuwqreABXtZjP06nCRJdvRmtl0t6nXlZONJDrDdKNxNgqKRpnOY4K08XMBSKLXnktp8L5N3TjZa6T8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"
    }
   },
   "cell_type": "markdown",
   "id": "77fd8ab3",
   "metadata": {},
   "source": [
    "# 手动计算下  对数损失函数\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "afce3269",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.9243112109318992\n",
      "2.2574283769413426\n",
      "1.263068026868492\n",
      "1.7853679764119987\n",
      "7.230175591153733\n",
      "0.6025146325961445\n"
     ]
    }
   ],
   "source": [
    "# 手动计算\n",
    "\n",
    "# sigmoid =  nn.Sigmoid()\n",
    "def loss1(x,y):\n",
    "    return -y*np.log(x)-(1-y)*np.log(1-x)\n",
    "\n",
    "sum_all_all = 0\n",
    "for index,_x in enumerate(probabilities):\n",
    "    # print(_x)\n",
    "    sum_all = 0\n",
    "    _y =  targets_one_hot[index]\n",
    "    for _ in zip(_x,_y):\n",
    "        sum_all += loss1(_[0].detach().numpy(),_[1].detach().numpy())\n",
    "    print(sum_all)\n",
    "    sum_all_all += sum_all\n",
    "print(sum_all_all)\n",
    "print(sum_all_all/12)\n",
    "    \n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "id": "a93b89d4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor(2)"
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "torch.tensor(1).random_(4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ab942195",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "torch_py38",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.7rc1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
